<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <button>语文</button>
    <button>数学</button>
    <button>英语</button>
    <button>历史</button>
    <button>政治</button>

    <script>
        /* 
                1. arguments 是什么
                2. 伪数组转化为数组
                3. every 和 some 区别
                4. 字符串的常见方法有哪些：
                5. 字符串的不可变性：
                6. DOM 是什么：
                7. 什么是事件：
                8. 字符串的遍历方法：
                9. 基本包装类是什么：
                10. 编程题 —— 排他思想：
                    day 13
                        12-排他思想.html
                11. 附加题：
                    day 14 
                        02-全选反选.html       
                */

     /* 
            1.arguments: 一般用于实参个数不确定的情况
              每一个函数自带的，系统帮我们生成的一个关键字
              并且arguments是一个伪数组，保存了用户输入的实参。

            2. 伪数组对象，转化为数组  通过Array.from(obj) 

            3. some和every都是判断是否满足需求条件的内置函数。
                some  只要其中一个为true 则返回true    some  一真即真
                every 必须所有都返回true 才会返回true  every 一假即假
                
            4. 字符串的常见方法有 every,map,arguments,
               str.indexOf('要查找的字符',[起始的位置]); 不存在返回-1
               str.charAt(index) 根据索引号返回字符
               str.charCodeAt(index)  返回相应索引号的字符 ASCII 的值 用来判断用户按下了哪个键
               str.trim().length  删除字符串的良两端空白，返回新的字符串
               str.slice(start[, end]); 提取字符串的某个长度（包括 start，不包括end)  
               str.substring(start[, stop]); 提取字符串的某个长度（包括 start，不包括stop)
               str.substr(start[, length]); 方法用于返回一个从指定位置开始的指定长度的子字符串 .length也包括
               str.split() 使用一个指定的分隔符把一个字符串分割存储到数组
               str.join()  使用一个指定的分隔符将一个数组合并为一个字符串
               str.split("") 根据空字符串拆分数组

            5.字符串的不可变性：当对字符串进行切割，拼接，翻转的时候，原字符串是不会改变,返回新的字符串。

            6. DOM : 文档对象模型 Document Object Model
                      是系统提供了一些接口(API 函数 方法)，可以动态地改变网页的样式和内容

            7. 特定情况触发的函数。比如鼠标点击经过 离开等

            8. 字符串的遍历方法：
                8.1 for循环
                8.2 for--in
                8.3 for--of

            9. 基本包装类是什么：
               简单数据类型和复杂数据类型
               就是把基本数据类型在一瞬间包装成(转化为)复杂数据类型
               然后，就可以使用对应的属性和方法了

            10. 编程题 —— 排他思想：
                    day 13
                        12-排他思想.html
*/

/* 
10. 编程题 —— 排他思想：
                    day 13
                        12-排他思想.html
*/

let btns = document.querySelectorAll('button');
for(let i = 0; i < btns.length; i++){
    btns[i].onclick = function(){
        for(let j = 0; j < btns.length; j++){
            btns[j].style.backgroundColor = '';
        }
        this.style.backgroundColor = 'red';
    }
}

/* 10. 编程题 —— 排他思想：
                    day 13
                        12-排他思想.html */
</script>
</body>
</html>